package org.gdstash.description;

public class BonusInfo {
    public static final int INFOTYPE_UNKNOWN = 0;
    public static final int INFOTYPE_DEFENSE = 1;
    public static final int INFOTYPE_OFFENSE = 2;
    public static final int INFOTYPE_RETALIATION = 3;
    public static final int INFOTYPE_CHARSTAT = 4;
    public static final int INFOTYPE_SKILLBONUS = 5;
    public static final int INFOTYPE_SKILL = 6;
    public String statDesc;
    public String text;
    public String tag;
    public String prefix;
    public boolean baseStat;
    public int prio;
    public int infoType;
    public boolean dmgFlat;
    public boolean dmgPerc;
    public boolean dmgChance;
    public boolean dmgDuration;
    public boolean dmgMaxResist;
    public boolean dmgGlobal;
    public boolean dmgXOR;
    public boolean bonusPerc;
    public boolean sbMastery;
    public int sbPlus;

    public BonusInfo() {
        this.text = null;
        this.tag = null;
        this.prefix = null;
        this.baseStat = false;
        this.prio = 0;
        this.infoType = 0;
        this.dmgFlat = false;
        this.dmgPerc = false;
        this.dmgChance = false;
        this.dmgDuration = false;
        this.dmgMaxResist = false;
        this.dmgGlobal = false;
        this.dmgXOR = false;
        this.bonusPerc = false;
        this.sbMastery = false;
        this.sbPlus = 0;
    }

    public BonusInfo(final TagInfo info) {
        this();
        if (info == null) {
            return;
        }
        this.tag = info.getTag();
        this.infoType = info.getInfoType();
        this.baseStat = info.isBaseStat();
        this.prio = info.getPriority();
    }
}
